﻿/************************************************************************
** 文  件：
**	ModelService.h
** 功  能：
**	系统模型服务，提供模型的增删改查服务
** 作  者：
**	email:lixx2048@163.com
**  wechat:lixiang6153
**  QQ:941415509
** 日  期：
**	2024/03/15	14:00:00
** 说  明：
**	无
** 版  本：
**	2024/03/15	14:00:00		1.0		lixx2048@163.com
/************************************************************************/
#pragma once
#include "BaseService.h"
#include "../db/IDbBase.h"
#include "../entity/ModelInfo.h"

class ModelService
	: public IBaseService<ModelInfo>
{
public:
	ModelService();
	virtual ~ModelService();

public:
	// 表是否存在
	bool Exist();
	// 创建表
	bool Create();
	// 增加记录
	bool Add(ModelInfo& itme);
	// 删除记录
	bool Delete(ModelInfo& item, bool delFromDB = true);
	// 查询数量
	int Count();
	int Count(std::string name, std::string enabled);
	// 查找记录
	bool FindPage(int pageIndex, int pageSize, std::vector<ModelInfo>& list);
	bool FindPage(int pageIndex, int pageSize, std::string enabled, std::vector<ModelInfo>& list);
	bool FindPage(int pageIndex, int pageSize, std::string name, std::string enabled, std::vector<ModelInfo>& list);
	// 是否存在
	bool Exist(std::string id, bool& result);
	// 查找记录
	bool Find(ModelInfo& item);
	// 更新记录
	bool Update(ModelInfo& item);

protected:
	// 行记录转实体记录
	void ToRecord(IDbBasePtr db, ModelInfo& item);
};

typedef std::shared_ptr<ModelService> ModelServicePtr;